Random numbers are useful for a variety of purposes, such as simulating phenomenon for studies, gambling or other gaming, or selecting random samples from a set of values. One field where random numbers with high unpredictability is required is data security, such as for generating encryption keys or tweak values.
Computers have a limited ability to generate random numbers. Computers are designed to rigidly follow a set of instructions, and are therefore very predictable. Predictability in a computing system, especially in relation to data security and encryption, can create vulnerabilities. Therefore, systems and methods are needed for improving methods of random number generation.